﻿using Shop.Core.Share;
using Shop.Model.Dto.Mine;
using Shop.Model.View.Mine;

namespace Shop.IServices;

public interface IMineService: IAppService
{
    /// <summary>
    /// 我的业绩
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    PerformanceVo Performance(long uId);

    /// <summary>
    /// 我的订单
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MyOrderVo> MyOrder(long uId);

    /// <summary>
    /// 我的钱包
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MyWalletVo> MyWallet(long uId);

    /// <summary>
    /// 我的收益
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MyEarningsVo> MyEarnings(long uId);

    /// <summary>
    /// 我的销售
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MyMarketVo> MyMarket(long uId);

    /// <summary>
    /// 我的顾客
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MyCustomerVo> MyCustomer(long uId);

    /// <summary>
    /// 我的上级
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<MySuperiorVo> MySuperior(long uId);

    /// <summary>
    /// 我的礼包业绩数据
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    AppResult<GiftBagDataVo> GiftBagData(long uId);
}